4.3.2020
This script calculates power for observing a significant effect for known correlates.
Aric R^2 values from Ryan:
library(knitr)
agemult = 0.008552
ageadj = 0.007883
sexmult = 0.02774
sexadj = 0.02709
wbcmult = 0.04947
wbcadj = 0.04883
# Calculate effect size measures
# https://www.statmethods.net/stats/power.html
agef2 = agemult/(1-agemult)
sexf2 = sexmult/(1-sexmult)
wbcf2 = wbcmult/(1-wbcmult)
Use the pwr package:
library(pwr)
# covariates used: age, sex,
# u = number of covariates, not including intercept ((mtDNA ~ Neutrophils/SEX/AGE + HSC + Megakaryocytes + COHORT + TRISCHD)) = 4
# v = n - u - 1 = 418 - 4 - 1 = 391
pwr.f2.test(u = 4, v = 413, f2 = agef2, sig.level = .05)
##
## Multiple regression power calculation
##
## u = 4
## v = 413
## f2 = 0.008625768
## sig.level = 0.05
## power = 0.2868267
pwr.f2.test(u = 4, v = 413, f2 = sexf2, sig.level = .05)
##
## Multiple regression power calculation
##
## u = 4
## v = 413
## f2 = 0.02853146
## sig.level = 0.05
## power = 0.7944676
pwr.f2.test(u = 4, v = 413, f2 = wbcf2, sig.level = .05)
##
## Multiple regression power calculation
##
## u = 4
## v = 413
## f2 = 0.05204465
## sig.level = 0.05
## power = 0.9748073
make a table:
covs = c('Age', 'Sex (Female)', 'Neutrophils')
gtex = c(-0.06, 0.14, -0.19)
aric = c(-0.02, 0.46, -0.14)
gtexp = c(0.19, 0.17, 5e-5)
aricp = c(0.004, 9.95e-14,9.97e-16)
power = c('28.68%', '79.44%', '97.48%')
show = data.frame(Covariate = covs, gtex = gtex, aric = aric, gtexp= gtexp, aricp = aricp, power = power)
library(htmlTable)
htmlTable(show, rnames = rep('', nrow(show)), header = c('Covariate', 'GTEx effect estimate', 'ARIC effect estimate', 'GTEx p-value', 'ARIC p-value', 'Power'))
|
|
Covariate
|
GTEx effect estimate
|
ARIC effect estimate
|
GTEx p-value
|
ARIC p-value
|
Power
|
|
|
Age
|
-0.06
|
-0.02
|
0.19
|
0.004
|
28.68%
|
|
|
Sex (Female)
|
0.14
|
0.46
|
0.17
|
9.95e-14
|
79.44%
|
|
|
Neutrophils
|
-0.19
|
-0.14
|
5e-05
|
9.97e-16
|
97.48%
|